import { applyMiddleware, createStore } from 'redux'

// 导入合并的reducer
import reducers from './reducers'

// 导入redux-devtools-extension扩展工具
import { composeWithDevTools } from 'redux-devtools-extension'
// 导入处理异步请求的thunk中间件
import thunk from 'redux-thunk'
import { getTokenInfo } from '@/utils/storage'
// 创建store并传递reducer
// 参数2： reducer模块的初始值，非必填
// 参数3，可以传递一个中间件，并使用 applyMiddleware来应用

const store = createStore(
  reducers,
  // 对象中属性为模块名
  { login: getTokenInfo() },
  composeWithDevTools(applyMiddleware(thunk))
)
export default store
